This invention relates generally to the field of computer systems. More particularly, a system and method are provided for testing an application or utility for compatibility with a foreign character set or language.
Due to the increasingly global nature of commerce, many software products have markets that transcend language boundaries. Therefore, software must often be compatible with multiple languages, or character sets of multiple languages. No longer can a developer be confident that his or her program will work as intended just because it performs well in the language or character set in which it was developed. Thus, it is becoming imperative that a new or modified software module be tested with character sets of multiple languages.
Because of the incremental manner in which software vendors' products have entered foreign markets, vendors have typically expanded their testing processes, to cover foreign languages, in piecemeal fashion. That is, product testing was typically expanded to include compatibility testing with a new language only when a new country was added as a market or a user of a previously unsupported language was added as a customer.
Because of this incremental approach to language compatibility testing, a software vendor may end up with a significant number of languages that must be tested before an application, utility or other software module can be released. For each language, a substantial level of testing resources may be expended, to pay salaries of personnel fluent in the language, to develop testing materials or test cases in the language, to compare the performance of the program in that language to the desired performance, etc.
Typically, when an application is developed, a test script, test case or set of testing data are generated for testing the performance of the application with a particular character set or language. For each language to be tested for compatibility, the test data are translated to produce test data conforming to the language. Thus, for each language, personnel conversant in that language would have to become familiar with the application, and establish a separate testing environment, which may require reconfiguration of the application or the test data even beyond translation into the target language. Conducting tests in all target languages in a timely fashion (e.g., to allow simultaneous release of the application in multiple countries) can be very difficult.
Thus, a need has arisen for a system and methods for testing software functionality for compatibility with multiple character sets or languages, wherein substantial testing resources need not be expended for each language.